<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621679641313"><span id="local-6989586621679641314"><span id="local-6989586621679641315"><span id="local-6989586621679641316"><span id="local-6989586621679641317"></span></span></span></span></span><span class="hs-pragma">{-# LANGUAGE DeriveDataTypeable #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE DeriveGeneric #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><span id="line-4"></span><span>
</span><span id="line-5"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Types.BuildType</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-6"></span><span>    </span><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier">BuildType</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-7"></span><span>    </span><span class="annot"><a href="Distribution.Types.BuildType.html#knownBuildTypes"><span class="hs-identifier">knownBuildTypes</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-8"></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-9"></span><span>
</span><span id="line-10"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-11"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-12"></span><span>
</span><span id="line-13"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.CabalSpecVersion.html"><span class="hs-identifier">Distribution.CabalSpecVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.CabalSpecVersion.html#CabalSpecVersion"><span class="hs-identifier">CabalSpecVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-15"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Parsec.html"><span class="hs-identifier">Distribution.Parsec</span></a></span><span>
</span><span id="line-16"></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Compat.CharParsing.html"><span class="hs-identifier">Distribution.Compat.CharParsing</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">P</span></span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../pretty/src/Text.PrettyPrint.html#"><span class="hs-identifier">Text.PrettyPrint</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Disp</span></span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-comment">-- | The type of build system used by this package.</span><span>
</span><span id="line-21"></span><span id="local-6989586621679641310"><span id="local-6989586621679641311"></span></span><span class="hs-keyword">data</span><span> </span><span id="BuildType"><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier hs-var">BuildType</span></a></span></span><span>
</span><span id="line-22"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="Simple"><span class="annot"><a href="Distribution.Types.BuildType.html#Simple"><span class="hs-identifier hs-var">Simple</span></a></span></span><span>      </span><span class="hs-comment">-- ^ calls @Distribution.Simple.defaultMain@</span><span>
</span><span id="line-23"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Configure"><span class="annot"><a href="Distribution.Types.BuildType.html#Configure"><span class="hs-identifier hs-var">Configure</span></a></span></span><span>   </span><span class="hs-comment">-- ^ calls @Distribution.Simple.defaultMainWithHooks defaultUserHooks@,</span><span>
</span><span id="line-24"></span><span>                </span><span class="hs-comment">-- which invokes @configure@ to generate additional build</span><span>
</span><span id="line-25"></span><span>                </span><span class="hs-comment">-- information used by later phases.</span><span>
</span><span id="line-26"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Make"><span class="annot"><a href="Distribution.Types.BuildType.html#Make"><span class="hs-identifier hs-var">Make</span></a></span></span><span>        </span><span class="hs-comment">-- ^ calls @Distribution.Make.defaultMain@</span><span>
</span><span id="line-27"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Custom"><span class="annot"><a href="Distribution.Types.BuildType.html#Custom"><span class="hs-identifier hs-var">Custom</span></a></span></span><span>      </span><span class="hs-comment">-- ^ uses user-supplied @Setup.hs@ or @Setup.lhs@ (default)</span><span>
</span><span id="line-28"></span><span>                </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(forall x. BuildType -&gt; Rep BuildType x)
-&gt; (forall x. Rep BuildType x -&gt; BuildType) -&gt; Generic BuildType
forall x. Rep BuildType x -&gt; BuildType
forall x. BuildType -&gt; Rep BuildType x
forall a.
(forall x. a -&gt; Rep a x) -&gt; (forall x. Rep a x -&gt; a) -&gt; Generic a
$cto :: forall x. Rep BuildType x -&gt; BuildType
$cfrom :: forall x. BuildType -&gt; Rep BuildType x
</span><a href="../../base/src/GHC.Generics.html#Generic"><span class="hs-identifier hs-var hs-var hs-var hs-var">Generic</span></a></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679641297"><span id="local-6989586621679641299"><span id="local-6989586621679641301"><span class="annot"><span class="annottext">Int -&gt; BuildType -&gt; ShowS
[BuildType] -&gt; ShowS
BuildType -&gt; String
(Int -&gt; BuildType -&gt; ShowS)
-&gt; (BuildType -&gt; String)
-&gt; ([BuildType] -&gt; ShowS)
-&gt; Show BuildType
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [BuildType] -&gt; ShowS
$cshowList :: [BuildType] -&gt; ShowS
show :: BuildType -&gt; String
$cshow :: BuildType -&gt; String
showsPrec :: Int -&gt; BuildType -&gt; ShowS
$cshowsPrec :: Int -&gt; BuildType -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679641282"><span id="local-6989586621679641289"><span id="local-6989586621679641292"><span id="local-6989586621679641294"><span class="annot"><span class="annottext">ReadPrec [BuildType]
ReadPrec BuildType
Int -&gt; ReadS BuildType
ReadS [BuildType]
(Int -&gt; ReadS BuildType)
-&gt; ReadS [BuildType]
-&gt; ReadPrec BuildType
-&gt; ReadPrec [BuildType]
-&gt; Read BuildType
forall a.
(Int -&gt; ReadS a)
-&gt; ReadS [a] -&gt; ReadPrec a -&gt; ReadPrec [a] -&gt; Read a
readListPrec :: ReadPrec [BuildType]
$creadListPrec :: ReadPrec [BuildType]
readPrec :: ReadPrec BuildType
$creadPrec :: ReadPrec BuildType
readList :: ReadS [BuildType]
$creadList :: ReadS [BuildType]
readsPrec :: Int -&gt; ReadS BuildType
$creadsPrec :: Int -&gt; ReadS BuildType
</span><a href="../../base/src/GHC.Read.html#Read"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Read</span></a></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679641276"><span id="local-6989586621679641278"><span class="annot"><span class="annottext">BuildType -&gt; BuildType -&gt; Bool
(BuildType -&gt; BuildType -&gt; Bool)
-&gt; (BuildType -&gt; BuildType -&gt; Bool) -&gt; Eq BuildType
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: BuildType -&gt; BuildType -&gt; Bool
$c/= :: BuildType -&gt; BuildType -&gt; Bool
== :: BuildType -&gt; BuildType -&gt; Bool
$c== :: BuildType -&gt; BuildType -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Data.Typeable.Internal.html#Typeable"><span class="hs-identifier hs-type">Typeable</span></a></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679641245"><span id="local-6989586621679641247"><span id="local-6989586621679641249"><span id="local-6989586621679641251"><span id="local-6989586621679641253"><span id="local-6989586621679641255"><span id="local-6989586621679641257"><span id="local-6989586621679641259"><span id="local-6989586621679641261"><span id="local-6989586621679641263"><span id="local-6989586621679641265"><span id="local-6989586621679641267"><span id="local-6989586621679641269"><span id="local-6989586621679641271"><span class="annot"><span class="annottext">Typeable BuildType
Typeable BuildType
-&gt; (forall (c :: * -&gt; *).
    (forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
    -&gt; (forall g. g -&gt; c g) -&gt; BuildType -&gt; c BuildType)
-&gt; (forall (c :: * -&gt; *).
    (forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
    -&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c BuildType)
-&gt; (BuildType -&gt; Constr)
-&gt; (BuildType -&gt; DataType)
-&gt; (forall (t :: * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d. Data d =&gt; c (t d)) -&gt; Maybe (c BuildType))
-&gt; (forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d e. (Data d, Data e) =&gt; c (t d e)) -&gt; Maybe (c BuildType))
-&gt; ((forall b. Data b =&gt; b -&gt; b) -&gt; BuildType -&gt; BuildType)
-&gt; (forall r r'.
    (r -&gt; r' -&gt; r)
    -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r)
-&gt; (forall r r'.
    (r' -&gt; r -&gt; r)
    -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r)
-&gt; (forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; [u])
-&gt; (forall u.
    Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; u)
-&gt; (forall (m :: * -&gt; *).
    Monad m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType)
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType)
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType)
-&gt; Data BuildType
BuildType -&gt; DataType
BuildType -&gt; Constr
(forall b. Data b =&gt; b -&gt; b) -&gt; BuildType -&gt; BuildType
forall a.
Typeable a
-&gt; (forall (c :: * -&gt; *).
    (forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
    -&gt; (forall g. g -&gt; c g) -&gt; a -&gt; c a)
-&gt; (forall (c :: * -&gt; *).
    (forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
    -&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c a)
-&gt; (a -&gt; Constr)
-&gt; (a -&gt; DataType)
-&gt; (forall (t :: * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d. Data d =&gt; c (t d)) -&gt; Maybe (c a))
-&gt; (forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
    Typeable t =&gt;
    (forall d e. (Data d, Data e) =&gt; c (t d e)) -&gt; Maybe (c a))
-&gt; ((forall b. Data b =&gt; b -&gt; b) -&gt; a -&gt; a)
-&gt; (forall r r'.
    (r -&gt; r' -&gt; r) -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; a -&gt; r)
-&gt; (forall r r'.
    (r' -&gt; r -&gt; r) -&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; a -&gt; r)
-&gt; (forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; a -&gt; [u])
-&gt; (forall u. Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; a -&gt; u)
-&gt; (forall (m :: * -&gt; *).
    Monad m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; a -&gt; m a)
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; a -&gt; m a)
-&gt; (forall (m :: * -&gt; *).
    MonadPlus m =&gt;
    (forall d. Data d =&gt; d -&gt; m d) -&gt; a -&gt; m a)
-&gt; Data a
forall u. Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; u
forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; [u]
forall r r'.
(r -&gt; r' -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r
forall r r'.
(r' -&gt; r -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r
forall (m :: * -&gt; *).
Monad m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
forall (c :: * -&gt; *).
(forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
-&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c BuildType
forall (c :: * -&gt; *).
(forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
-&gt; (forall g. g -&gt; c g) -&gt; BuildType -&gt; c BuildType
forall (t :: * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d. Data d =&gt; c (t d)) -&gt; Maybe (c BuildType)
forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d e. (Data d, Data e) =&gt; c (t d e)) -&gt; Maybe (c BuildType)
gmapMo :: forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
$cgmapMo :: forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
gmapMp :: forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
$cgmapMp :: forall (m :: * -&gt; *).
MonadPlus m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
gmapM :: forall (m :: * -&gt; *).
Monad m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
$cgmapM :: forall (m :: * -&gt; *).
Monad m =&gt;
(forall d. Data d =&gt; d -&gt; m d) -&gt; BuildType -&gt; m BuildType
gmapQi :: forall u. Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; u
$cgmapQi :: forall u. Int -&gt; (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; u
gmapQ :: forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; [u]
$cgmapQ :: forall u. (forall d. Data d =&gt; d -&gt; u) -&gt; BuildType -&gt; [u]
gmapQr :: forall r r'.
(r' -&gt; r -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r
$cgmapQr :: forall r r'.
(r' -&gt; r -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r
gmapQl :: forall r r'.
(r -&gt; r' -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r
$cgmapQl :: forall r r'.
(r -&gt; r' -&gt; r)
-&gt; r -&gt; (forall d. Data d =&gt; d -&gt; r') -&gt; BuildType -&gt; r
gmapT :: (forall b. Data b =&gt; b -&gt; b) -&gt; BuildType -&gt; BuildType
$cgmapT :: (forall b. Data b =&gt; b -&gt; b) -&gt; BuildType -&gt; BuildType
dataCast2 :: forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d e. (Data d, Data e) =&gt; c (t d e)) -&gt; Maybe (c BuildType)
$cdataCast2 :: forall (t :: * -&gt; * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d e. (Data d, Data e) =&gt; c (t d e)) -&gt; Maybe (c BuildType)
dataCast1 :: forall (t :: * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d. Data d =&gt; c (t d)) -&gt; Maybe (c BuildType)
$cdataCast1 :: forall (t :: * -&gt; *) (c :: * -&gt; *).
Typeable t =&gt;
(forall d. Data d =&gt; c (t d)) -&gt; Maybe (c BuildType)
dataTypeOf :: BuildType -&gt; DataType
$cdataTypeOf :: BuildType -&gt; DataType
toConstr :: BuildType -&gt; Constr
$ctoConstr :: BuildType -&gt; Constr
gunfold :: forall (c :: * -&gt; *).
(forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
-&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c BuildType
$cgunfold :: forall (c :: * -&gt; *).
(forall b r. Data b =&gt; c (b -&gt; r) -&gt; c r)
-&gt; (forall r. r -&gt; c r) -&gt; Constr -&gt; c BuildType
gfoldl :: forall (c :: * -&gt; *).
(forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
-&gt; (forall g. g -&gt; c g) -&gt; BuildType -&gt; c BuildType
$cgfoldl :: forall (c :: * -&gt; *).
(forall d b. Data d =&gt; c (d -&gt; b) -&gt; d -&gt; c b)
-&gt; (forall g. g -&gt; c g) -&gt; BuildType -&gt; c BuildType
</span><a href="../../base/src/Data.Data.html#Data"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Data</span></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679641238"><span id="local-6989586621679641240"><span id="local-6989586621679641242"><span class="annot"><a href="../../binary/src/Data.Binary.Class.html#Binary"><span class="hs-identifier hs-type">Binary</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier hs-type">BuildType</span></a></span></span></span></span><span>
</span><span id="line-31"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679641231"><span id="local-6989586621679641233"><span class="annot"><a href="Distribution.Utils.Structured.html#Structured"><span class="hs-identifier hs-type">Structured</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier hs-type">BuildType</span></a></span></span></span><span>
</span><span id="line-32"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="../../deepseq/src/Control.DeepSeq.html#NFData"><span class="hs-identifier hs-type">NFData</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier hs-type">BuildType</span></a></span><span> </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679641212"><span class="annot"><span class="annottext">rnf :: BuildType -&gt; ()
</span><a href="../../deepseq/src/Control.DeepSeq.html#rnf"><span class="hs-identifier hs-var hs-var hs-var hs-var">rnf</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildType -&gt; ()
forall a. (Generic a, GNFData (Rep a)) =&gt; a -&gt; ()
</span><a href="Distribution.Compat.Prelude.html#genericRnf"><span class="hs-identifier hs-var">genericRnf</span></a></span><span>
</span><span id="line-33"></span><span>
</span><span id="line-34"></span><span class="annot"><a href="Distribution.Types.BuildType.html#knownBuildTypes"><span class="hs-identifier hs-type">knownBuildTypes</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier hs-type">BuildType</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-35"></span><span id="knownBuildTypes"><span class="annot"><span class="annottext">knownBuildTypes :: [BuildType]
</span><a href="Distribution.Types.BuildType.html#knownBuildTypes"><span class="hs-identifier hs-var hs-var">knownBuildTypes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Simple"><span class="hs-identifier hs-var">Simple</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Configure"><span class="hs-identifier hs-var">Configure</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Make"><span class="hs-identifier hs-var">Make</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Custom"><span class="hs-identifier hs-var">Custom</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-36"></span><span>
</span><span id="line-37"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679641207"><span class="annot"><a href="Distribution.Pretty.html#Pretty"><span class="hs-identifier hs-type">Pretty</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier hs-type">BuildType</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-38"></span><span>  </span><span id="local-6989586621679641204"><span class="annot"><span class="annottext">pretty :: BuildType -&gt; Doc
</span><a href="Distribution.Pretty.html#pretty"><span class="hs-identifier hs-var hs-var hs-var hs-var">pretty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Doc
</span><a href="../../pretty/src/Text.PrettyPrint.HughesPJ.html#text"><span class="hs-identifier hs-var">Disp.text</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; Doc) -&gt; (BuildType -&gt; String) -&gt; BuildType -&gt; Doc
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">BuildType -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Parsec.html#Parsec"><span class="hs-identifier hs-type">Parsec</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.BuildType.html#BuildType"><span class="hs-identifier hs-type">BuildType</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-41"></span><span>  </span><span id="local-6989586621679641153"><span class="annot"><span class="annottext">parsec :: forall (m :: * -&gt; *). CabalParsing m =&gt; m BuildType
</span><a href="Distribution.Parsec.html#parsec"><span class="hs-identifier hs-var hs-var hs-var hs-var">parsec</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-42"></span><span>    </span><span id="local-6989586621679641151"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679641151"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; m String
forall (m :: * -&gt; *). CharParsing m =&gt; (Char -&gt; Bool) -&gt; m String
</span><a href="Distribution.Compat.CharParsing.html#munch1"><span class="hs-identifier hs-var">P.munch1</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Bool
</span><a href="../../base/src/GHC.Unicode.html#isAlphaNum"><span class="hs-identifier hs-var">isAlphaNum</span></a></span><span>
</span><span id="line-43"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679641151"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-44"></span><span>      </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Simple&quot;</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">BuildType -&gt; m BuildType
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Simple"><span class="hs-identifier hs-var">Simple</span></a></span><span>
</span><span id="line-45"></span><span>      </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Configure&quot;</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">BuildType -&gt; m BuildType
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Configure"><span class="hs-identifier hs-var">Configure</span></a></span><span>
</span><span id="line-46"></span><span>      </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Custom&quot;</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">BuildType -&gt; m BuildType
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Custom"><span class="hs-identifier hs-var">Custom</span></a></span><span>
</span><span id="line-47"></span><span>      </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Make&quot;</span></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">BuildType -&gt; m BuildType
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Make"><span class="hs-identifier hs-var">Make</span></a></span><span>
</span><span id="line-48"></span><span>      </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Default&quot;</span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-49"></span><span>          </span><span id="local-6989586621679641148"><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679641148"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">m CabalSpecVersion
forall (m :: * -&gt; *). CabalParsing m =&gt; m CabalSpecVersion
</span><a href="Distribution.Parsec.html#askCabalSpecVersion"><span class="hs-identifier hs-var">askCabalSpecVersion</span></a></span><span>
</span><span id="line-50"></span><span>          </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="#local-6989586621679641148"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion -&gt; CabalSpecVersion -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;=</span></span><span> </span><span class="annot"><span class="annottext">CabalSpecVersion
</span><a href="Distribution.CabalSpecVersion.html#CabalSpecV1_18"><span class="hs-identifier hs-var">CabalSpecV1_18</span></a></span><span> </span><span class="hs-comment">-- oldest version needing this, based on hackage-tests</span><span>
</span><span id="line-51"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-52"></span><span>              </span><span class="annot"><span class="annottext">PWarnType -&gt; String -&gt; m ()
forall (m :: * -&gt; *). CabalParsing m =&gt; PWarnType -&gt; String -&gt; m ()
</span><a href="Distribution.Parsec.html#parsecWarning"><span class="hs-identifier hs-var">parsecWarning</span></a></span><span> </span><span class="annot"><span class="annottext">PWarnType
</span><a href="Distribution.Parsec.Warning.html#PWTBuildTypeDefault"><span class="hs-identifier hs-var">PWTBuildTypeDefault</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;build-type: Default is parsed as Custom for legacy reasons. See https://github.com/haskell/cabal/issues/5020&quot;</span></span><span>
</span><span id="line-53"></span><span>              </span><span class="annot"><span class="annottext">BuildType -&gt; m BuildType
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">BuildType
</span><a href="Distribution.Types.BuildType.html#Custom"><span class="hs-identifier hs-var">Custom</span></a></span><span>
</span><span id="line-54"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">String -&gt; m BuildType
forall (m :: * -&gt; *) a. MonadFail m =&gt; String -&gt; m a
</span><a href="../../base/src/Control.Monad.Fail.html#fail"><span class="hs-identifier hs-var">fail</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;unknown build-type: '&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679641151"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;'&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-55"></span><span>      </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span>           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; m BuildType
forall (m :: * -&gt; *) a. MonadFail m =&gt; String -&gt; m a
</span><a href="../../base/src/Control.Monad.Fail.html#fail"><span class="hs-identifier hs-var">fail</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;unknown build-type: '&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679641151"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; ShowS
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;'&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-56"></span></pre></body></html>